home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / DEMOCIAL / DEMOFRM2.LZH / LIBRARY.FW2 (.txt) < prev    next >
FrameworkDocument  |  1985-10-22  |  16KB  |  372 lines

  1. ; Alt-S for Sampler Menu
  2. @eraseprompt,
  3. @prompt("The Framework II Sampler was written by Greg Stikeleather and David McLoughlin",2),
  4. @beep(0,600),
  5. @eraseprompt
  6. eather and Davi
  7. Library
  8. Macros
  9. wJ-m>
  10. ; primary Sampler control program
  11. @Init,
  12. @if(@memavail < 70000,
  13.     @list(
  14.         @echo(#on),
  15.         @keyfilter({ctrl-break}),
  16.         @keyfilter({Alt-S}),
  17.         @beep(500,10),@beep(500,10),
  18.         @prompt("There does not appear to be enough memory " &
  19.                 "available for the Framework
  20. II Sampler"),
  21.         @beep(0,700),
  22.         @Exit
  23. @GetCode,
  24. @XSmpCode,
  25. @Clear
  26.         @Exit
  27. {Alt-S};Start Sampler
  28. Sampler Messages
  29. ; makes desktop appear blank
  30. @memavail,
  31. @display(Blank),
  32. @Flush
  33. Blank
  34. ***  One Moment Please  ***
  35. ***  Hands On with Framework
  36. II  ***
  37. Refer to page 14 of the Framework
  38. II Sampler booklet for
  39. a quick orientation to the Hands-On exercises.
  40. During the Hands-On session, you can return to
  41. the Sampler Menu at any time by holding down
  42.  key and pressing 
  43. Press any key to continue.
  44. Hands
  45. >>>  Sampler Unable to Continue  <<<
  46. The Framework
  47. II Sampler is designed to be 
  48. run from the
  49. floppy-disk drive or 
  50. the "C" 
  51. hard-disk drive.  It
  52. appears that 
  53. all the necessary program 
  54. files 
  55. are  not
  56. available on drive "A" or "C".
  57. For detailed instructions on how to start the
  58. Framework
  59. II Sampler, please refer to page 10
  60. of the Framework
  61. II Sampler booklet.
  62. Press any key to quit the Sampler and return to DOS.
  63. @iser
  64. ; Sampler program exits if necessary files aren't found on A: or C:
  65. @keyfilter({all},exit)
  66. @echo(#on),
  67. @Blank,
  68. @display(bail),
  69. @eraseprompt,
  70. @echo(#off),
  71. >>>  Automated Demonstration Interrupted  <<<
  72. ***  One Moment Please   ***
  73. >>>  Sampler Program Stopped  <<<
  74. ***   Exiting to DOS   ***
  75. Sampler Functions
  76. ; maintain program control if {ctrl-break} while critical files
  77. ; aren't being deleted
  78. @keyfilter({ctrl-break},break2),
  79. @Back
  80. ng deleted
  81. Break
  82. #TBD!
  83. ; maintain program control if {ctrl-break} while critical files
  84. ; aren't being deleted
  85. @keyfilter({ctrl-break},break),
  86. @Back
  87. deleted
  88. Break2
  89. wR,m>
  90. ; maintain program control if {ctrl-break} while critical files
  91. ; aren't being deleted -- return to Sampler Menu
  92. @echo(#on),
  93. @Blank,
  94. @beep(500,10),@beep(500,10),
  95. @eraseprompt,
  96. @display(Stop),
  97. @b(300),
  98. @clean,
  99. @XSmpCode.Main,
  100. @Hands on Prep
  101. @Clear 
  102. clean,
  103. ; exit program if {ctrl-break} while critical files
  104. ; are being deleted
  105. @keyfilter({ctrl-break},exit2),
  106. ; exit program if {ctrl-break} while critical files
  107. ; are being deleted
  108. @keyfilter({ctrl-break},exit),
  109. Exit2
  110. #TRUE
  111. ; that's all folks
  112. @Flush,
  113. @performkeys("{esc}{esc}{esc}{esc}"),
  114. @echo(#on),
  115. @iserr(@unhide(Welcome)),
  116. @iserr(@setselection("Welcome")),
  117. @Blank,
  118. @beep(900,10),@beep(900,10),@beep(900,10),@beep(900,10)
  119. @eraseprompt,
  120. @display(Bye),
  121. @echo(#off),@b(200),
  122. @performkeys("{ctrl-d}c{ctrl-c}e{home}{f6}{end}{del}"),
  123. @memavail,
  124. @Flush,
  125. @setselection("Library"),
  126. @performkeys("{dnlevel}{ctrl-c}e{ctrl-d}qny")
  127. ection("Librar
  128. #FUNCTION
  129. ; pause routine, no prompt
  130. @memavail,
  131. @beep(0,@item1),
  132. @Flush
  133. #FALSE
  134. ; prompt used during set-up activity
  135. @eraseprompt,
  136. @prompt("One Moment Please...",31),
  137. @Flush
  138. #N/A!
  139. ; delete all unnecessary files from desktop
  140. @memavail,
  141. @Flush,
  142. @performkeys("{esc}{esc}{esc}{esc}"),
  143. @iserr(@unhide(Welcome)),
  144. @memavail,
  145. @Blank,
  146. @echo(#off),
  147. @iserr(@hide(Welcome)),
  148. @memavail,
  149. @Flush,
  150. @performkeys("{ctrl-d}c{ctrl-c}e{home}{f6}{end}{del}"),
  151. @memavail,
  152. @iserr(@unhide(Welcome)),
  153. @memavail,
  154. @iserr(@setselection("Welcome")),
  155. @echo(#on)
  156. @mema
  157. Clean
  158. #FALSE
  159. ; flush undesired keystrokes from keyboard buffer
  160. @while(@nextkey(0)<>{null},)
  161. rom keyboard b
  162. Flush
  163. #N/A!
  164. ; execute text performkeys one letter at a time
  165. @local(cnt,len),
  166. cnt := 1,
  167. len := @len(@item1),
  168. @while(cnt<=len,
  169.     @Flush,
  170.     @performkeys(@mid(@item1,cnt,1)),
  171.     cnt := cnt+1
  172. Oneltr
  173. #FUNCTION
  174. ; repeat the same keystroke slowly - @Rptkey(#,{keyname},dur)
  175. @local(cnt),
  176. cnt := 1,
  177. @while(cnt<=@item1,
  178.     @Flush,
  179.     @performkeys(@item2),
  180.     @b(@item3),
  181.     cnt := cnt+1
  182. Rptkey
  183. #N/A!
  184. ; position frame on desktop - @Pos("framename",col,row)
  185. @local(C,c1,c2,R,r1,r2),
  186. @setselection(@item1),
  187. C := @item2 - 1,
  188. R := @item3 - 1,
  189. @if(C < 0,C := 0),
  190. @if(C > 77,C := 77),
  191. @if(R < 0,R := 0),
  192. @if(R > 18,R := 18),
  193. c1 := @integer(@floor(C/8)),
  194. c2 := @integer(@mod(C,8)),
  195. r1 := @integer(@floor(R/4)),
  196. r2 := @integer(@mod(R,4)),
  197. @Flush,
  198. @performkeys("{f3}{ctrl-home}" &
  199.             "{ctrl-"& c1 &"}{ctrl-rightarrow}" &
  200.             "{ctrl-"& c2 &"}{rightarrow}" &
  201.             "{ctrl-"& r1 &"}{ctrl-dnarrow}" &
  202.             "{ctrl-"& r2 &"}{dnarrow}" &
  203.             "{return}{return}"),
  204. @Flush
  205. "{ctrl-"& 
  206. #N/A!
  207. ; size frame on desktop - @Size("framename",width,height)
  208. @local(W,w1,w2,H,h1,h2),
  209. @setselection(@item1),
  210. W := @item2 - 1,
  211. @if(@frametype = 6,
  212.     H := @item3 - 3,
  213.     H := @item3 - 1
  214. @if(W < 0,W := 0),
  215. @if(W > 77,W := 77),
  216. @if(H < 0,H := 0),
  217. @if(H > 18,H := 18),
  218. w1 := @integer(@floor(W/8)),
  219. w2 := @integer(@mod(W,8)),
  220. h1 := @integer(@floor(H/4)),
  221. h2 := @integer(@mod(H,4)),
  222. @Flush,
  223. @performkeys("{f4}{ctrl-home}" &
  224.             "{ctrl-"& w1 &"}{ctrl-rightarrow}" &
  225.             "{ctrl-"& w2 &"}{rightarrow}" &
  226.             "{ctrl-"& h1 &"}{ctrl-dnarrow}" &
  227.             "{ctrl-"& h2 &"}{dnarrow}" &
  228.             "{return}{return}"),
  229. @Flush
  230. #FUNZ
  231. #FUNCTION
  232. ; create placeholder tray on desktop - @Sham("name for frame")
  233. @memavail,
  234. @performkeys("{ctrl-uplevel}{ctrl-c}e"& @item1 & "{return}{return}")
  235. @perfo
  236. 319680 
  237. ; initialize Framework
  238. II environment for Sampler program
  239. @keyfilter({ctrl-break},Exit),
  240. @keyfilter({Alt-S},Stop),
  241. @Flush,
  242. @performkeys("{esc}{esc}{esc}{esc}"),
  243. @iserr(@unhide(XStart)),
  244. @iserr(@setselection("XStart")),
  245. @Blank,
  246. @eraseprompt,
  247. @prompt("Framework II Sampler, Copyright (c) Ashton-Tate 1985",15),
  248. @display(Hold),
  249. @echo(#off),
  250. @iserr(@hide(XStart)),
  251. @iserr(@setselection("a:")),
  252. @memavail,
  253. @Flush,
  254. @performkeys("{ctrl-d}c{ctrl-c}e{home}{f6}{end}{del}"),
  255. @memavail,
  256. @iserr(@setselection("a:")),
  257. @Flush,
  258. ; --- create frame to keep cursor from bleeding through menu
  259. @performkeys("{ctrl-c}eWelcome{return}{ctrl-f}d{ctrl-f}h{f4}" &
  260.             "{ctrl-home}{leftarrow}{f3}{ctrl-home}{end}{uparrow}" &
  261.             "{leftarrow}{leftarrow}{leftarrow}{leftarrow}{return}" &
  262.             "{dnlevel}
  263. {ctrl-home}{uplevel}"),
  264. @if(@sense(#ET),@performkeys("{ctrl-e}t")),
  265. @if(@sense(#ED),@performkeys("{ctrl-e}d")),
  266. @if(@sense(#LF),@performkeys("{ctrl-l}f")),
  267. @if(@not(@sense(#LL)),@performkeys("{ctrl-l}l")),
  268. @if(@not(@sense(#LC)),@performkeys("{ctrl-l}c")),
  269. @memavail
  270. #N/A!
  271. ; load XSMPCODE.FW2 from disk
  272. @echo(#off),
  273. @iserr(#FALSE),
  274. @memavail,
  275. @Flush,
  276. @if(@setdrive="B:",
  277.     @performkeys("{ctrl-d}ga:XSmpCode.fw2{return}"),
  278.     @performkeys("{ctrl-d}gXSmpCode.fw2{return}")
  279. @if(@iserr(
  280. @setselection("XSmpCode")
  281.     @list(
  282.         @performkeys("{ctrl-d}gc:XSmpCode.fw2{return}"),
  283.         @if(@iserr(
  284. @setselection("XSmpCode")
  285.             @list(
  286.                 @performkeys("{ctrl-d}ga:XSmpCode.fw2{return}"),
  287.                 @if(@iserr(
  288. @setselection("XSmpCode")
  289.                     @bail,
  290.                     @setdrive("A:")
  291.                 )
  292.             ),
  293.             @setdrive("C:")
  294.     @if(@setdrive="B:",
  295.         @setdrive("A:")
  296. @iserr(@hide(XSmpCode)),
  297. @memavail
  298. GetCode
  299. #N/A!
  300. ; load XSMPFILE.FW2 from disk, hide files on hidden desktop
  301. @echo(#off),
  302. @memavail,
  303. @Flush,
  304. XSmpCode.rtn := #false,
  305. @iserr(#FALSE),
  306. @performkeys("{ctrl-d}gXSmpFile.fw2{return}"),
  307. @if(@iserr(
  308. @setselection("XSmpFile")
  309.     @bail
  310. @performkeys("{dnlevel}{home}{f6}{end}" &
  311.              "{f7}{uplevel}{return}{ctrl-d}c"),
  312. @memavail,
  313. @Flush,
  314. @performkeys("{ctrl-d}g{f6}{end}{del}{return}"),
  315. @memavail,
  316. @setselection("Welcome"),
  317. @performkeys("{return}"),
  318. @setselection("XSmpFile"),
  319. @performkeys("{del}"),
  320. @memavail,
  321. @hide(XSmpCode),
  322. @memavail,
  323. @hide(Costs),@hide(Budget),@hide(Summary),
  324. @memavail,
  325. @keyfilter({ctrl-break},break)
  326. Summary),
  327. GetFiles
  328. #N/A!
  329. ; unhide and delete all Sample Files except Summary and Budget
  330. @keyfilter({ctrl-break},Exit),
  331. @iserr(@unhide(Welcome)),
  332. @iserr(@setselection("Welcome")),
  333. @Blank,
  334. @display(Hold),
  335. @echo(#off),
  336. @setselection("Library"),
  337. @iserr(@unhide(Costs)),
  338. @iserr(@unhide(Report)),
  339. @memavail,
  340. @performkeys("{home}{f6}{end}{del}"),
  341. @memavail,
  342. @iserr(@unhide(Budget)),
  343. @memavail,
  344. @iserr(@pos("Budget",1,1)),
  345. @iserr(@size("Budget",70,6)),
  346. @iserr(@unhide(Summary)),
  347. @memavail,
  348. @iserr(@pos("Summary",1,3)),
  349. @iserr(@size("Summary",70,7)),
  350. @performkeys("{ctrl-d}c{ctrl-c}{home}{dnarrow}{esc}")
  351. Hands On Prep
  352. wJ-m>x
  353. ; unhide and delete Sampler code for Hands-On
  354. @setselection("Library"),
  355. @iserr(@unhide(XSmpCode)),
  356. @iserr(@setselection("XSmpCode")),
  357. @performkeys("{del}"),
  358. @memavail,
  359. @setselection("Library"),
  360. @performkeys("{dnarrow}{scroll-lock}"),
  361. @setselection("Budget"),
  362. @Flush,
  363. @echo(#on),
  364. @display(Hands),
  365. @keyfilter({ctrl-break}),
  366. @eraseprompt,
  367. @Flush,
  368. @nextkey,
  369. @Echo(#on),
  370. @keyfilter({Alt-S})
  371. Clear
  372.